// pages/index/index.js
import {getChannels,getArticles} from '../../api/index'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    active: 0,
    //导航数据
    list:[],
    refresher:false,
    refreshContent:'释放即可刷新...',
    page:2,
    id:null,
    //页面数据
    articleList:[]
  },
  // 获取导航数据
  async initChannels() {
    const res=await getChannels()
    console.log(res);
    this.setData({
      list:res.data.channels,
      id:res.data.channels[0].id
      
    })
    this.selectComponent('#tabs').resize();
    this.initArticles()
    // console.log(this.data.id);
  },
  // 页面数据
  async initArticles() {
    const res=await getArticles(this.data.id,{
      timestamp:new Date().getTime(),
      with_top:1
    })
    console.log(res);
    this.setData({
      articleList:[...this.data.articleList,...res.data.results]
    })
    console.log(this.data.articleList);
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onPulling() {
    this.setData({
      refreshContent:'加载中...',
      // 刷新时也要先清除数组
      articleList:[]
    })
    this.initArticles()
    setTimeout(()=>{
      this.setData({
        refresher:false,
        refreshContent:'刷新成功'
      })
    },1000)
  },
  onClick(e) {
    this.setData({
      id:e.detail.name,
      // 切换的时候要把数组清空 就可以再获得新数据
      articleList:[]
    })
    this.initArticles()
  },
  // 下拉触底
  handleBottom() {
    this.initArticles()
  },
  //去详情页
  goDetail() {
    wx.navigateTo({
      url:'/pages/detail/detail'
    })
  },
  // onLoad是一进入页面就加载 但是页面的数据是要拿到id以后才可以渲染 所以要写在id后面
  onLoad(options) {
   this.initChannels()
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {
  
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})